Relational DataBase Management System (RDBMS) products using a Structured Query Language (SQL) interface are well known in the art. The SQL interface has evolved into a standard language for RDBMS products and has been adopted as such by both the American Nationals Standard Organization (ANSI) and the International Standards Organization (ISO). In RDBMS products, all data is externally structured into tables. The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages such as C, COBOL, etc. Operators are provided in SQL that allow the user to manipulate the data, wherein each operator operates on either one or two tables and produces a new table as a result. The power of SQL lies in its ability to link information from multiple tables or views together to perform complex sets of procedures with a single statement.
The current state-of-the-art in query optimization provides few solutions for optimizing query expressions involving joins, outer joins and full outer joins. Some have suggested that queries could be optimized if certain uniqueness information is known about relations in a given expression. In particular, C. J. Date, and Hugh Darwen, in "Relational Database Writings 1989-1991," pp 133-153, indicate that uniqueness information can be used to optimize database queries.
However, there is little guidance regarding how to determine this much needed uniqueness information. Thus, if full advantage of certain optimization techniques is to be obtained, a technique for determining uniqueness information is needed.